const zlib = require('zlib');

/**
 * 同步解压缩 Base64 编码的 Gzip 内容
 * @param {string} base64String - Base64 编码的 Gzip 内容
 * @returns {string|null} - 解压缩后的内容
 * @throws {Error} - 解压缩出错时抛出错误
 */
function decompressGzipFromBase64Sync(base64String) {
    if (!base64String) {
        return null;
    }
    // 将 Base64 字符串解码为缓冲区
    const buffer = Buffer.from(base64String, 'base64');

    // 解压缩 Gzip 缓冲区
    const decompressedBuffer = zlib.gunzipSync(buffer);

    // 将解压缩后的缓冲区转换为字符串并返回
    return decompressedBuffer.toString();
}

module.exports = {
    decompressGzipFromBase64Sync: decompressGzipFromBase64Sync
}